package com.jhopesoft.framework.dao.entity.dataobject;
// default package
// Generated 2017-10-24 14:50:01 by Hibernate Tools 5.2.0.Beta1


import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.UniqueConstraint;

import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.GenericGenerator;

/**
 * FDatabaseschema generated by hbm2java
 */
@SuppressWarnings("serial")
@Entity
@DynamicUpdate
@Cache(region = "beanCache", usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
@Table(name = "f_databaseschema", uniqueConstraints = {@UniqueConstraint(columnNames = "objectnameahead"),
    @UniqueConstraint(columnNames = {"datasourceid", "schemaname"})})
public class FDatabaseschema implements java.io.Serializable {

  private String schemaid;
  private FDatasource FDatasource;
  private String schemaname;
  private String title;
  private Integer orderno;
  private String objectnameahead;
  private String businessremark;
  private String userdepartment;
  private String repairdepartment;
  private Date createdatabasedate;
  private Boolean disabled;
  private String remark;
  private String creater;
  private Date createdate;
  private String lastmodifier;
  private Date lastmodifydate;
  private Set<FDataobject> FDataobjects = new HashSet<FDataobject>(0);

  public FDatabaseschema() {}

  @Id
  @GeneratedValue(generator = "generator")
  @GenericGenerator(name = "generator", strategy = "uuid.hex")
  @Column(name = "schemaid", unique = true, nullable = false, length = 40)
  public String getSchemaid() {
    return this.schemaid;
  }

  public void setSchemaid(String schemaid) {
    this.schemaid = schemaid;
  }

  @ManyToOne(fetch = FetchType.LAZY)
  @JoinColumn(name = "datasourceid")
  public FDatasource getFDatasource() {
    return this.FDatasource;
  }

  public void setFDatasource(FDatasource FDatasource) {
    this.FDatasource = FDatasource;
  }


  @Column(name = "schemaname", nullable = false, length = 50)
  public String getSchemaname() {
    return this.schemaname;
  }

  public void setSchemaname(String schemaname) {
    this.schemaname = schemaname;
  }


  @Column(name = "title", unique = true, nullable = false, length = 200)
  public String getTitle() {
    return this.title;
  }

  public void setTitle(String title) {
    this.title = title;
  }


  @Column(name = "orderno")
  public Integer getOrderno() {
    return this.orderno;
  }

  public void setOrderno(Integer orderno) {
    this.orderno = orderno;
  }


  @Column(name = "objectnameahead", nullable = false, length = 6)
  public String getObjectnameahead() {
    return objectnameahead;
  }

  public void setObjectnameahead(String objectnameahead) {
    this.objectnameahead = objectnameahead;
  }


  @Column(name = "businessremark", length = 200)
  public String getBusinessremark() {
    return this.businessremark;
  }

  public void setBusinessremark(String businessremark) {
    this.businessremark = businessremark;
  }


  @Column(name = "userdepartment", length = 50)
  public String getUserdepartment() {
    return this.userdepartment;
  }

  public void setUserdepartment(String userdepartment) {
    this.userdepartment = userdepartment;
  }


  @Column(name = "repairdepartment", length = 50)
  public String getRepairdepartment() {
    return this.repairdepartment;
  }

  public void setRepairdepartment(String repairdepartment) {
    this.repairdepartment = repairdepartment;
  }

  @Temporal(TemporalType.TIMESTAMP)
  @Column(name = "createdatabasedate", length = 19)
  public Date getCreatedatabasedate() {
    return this.createdatabasedate;
  }

  public void setCreatedatabasedate(Date createdatabasedate) {
    this.createdatabasedate = createdatabasedate;
  }


  @Column(name = "disabled")
  public Boolean getDisabled() {
    return this.disabled;
  }

  public void setDisabled(Boolean disabled) {
    this.disabled = disabled;
  }


  @Column(name = "remark", length = 2000)
  public String getRemark() {
    return this.remark;
  }

  public void setRemark(String remark) {
    this.remark = remark;
  }


  @Column(name = "creater", nullable = false, length = 40)
  public String getCreater() {
    return this.creater;
  }

  public void setCreater(String creater) {
    this.creater = creater;
  }

  @Temporal(TemporalType.TIMESTAMP)
  @Column(name = "createdate", nullable = false, length = 19)
  public Date getCreatedate() {
    return this.createdate;
  }

  public void setCreatedate(Date createdate) {
    this.createdate = createdate;
  }


  @Column(name = "lastmodifier", length = 40)
  public String getLastmodifier() {
    return this.lastmodifier;
  }

  public void setLastmodifier(String lastmodifier) {
    this.lastmodifier = lastmodifier;
  }

  @Temporal(TemporalType.TIMESTAMP)
  @Column(name = "lastmodifydate", length = 19)
  public Date getLastmodifydate() {
    return this.lastmodifydate;
  }

  public void setLastmodifydate(Date lastmodifydate) {
    this.lastmodifydate = lastmodifydate;
  }

  @OneToMany(fetch = FetchType.LAZY, mappedBy = "FDatabaseschema")
  public Set<FDataobject> getFDataobjects() {
    return this.FDataobjects;
  }

  public void setFDataobjects(Set<FDataobject> FDataobjects) {
    this.FDataobjects = FDataobjects;
  }



}


